n = 30

print('=' * n, '数据类型转换', '\n')
'''
int函数返回一个整数
包括两个参数 int(num, base)
num: 被转换的数字或字符串
base: 被转换的值的进制数
'''
# int函数
num = 0x101
print(int(num))
numStr = '100100101010100100101'
print(int(numStr, 2))
print('int函数', '-' * n, '\n')

# long函数 python3.x已移除

# float函数
f1 = 12.345
f2 = '12.345'
f3 = '-121342342.345123142345234524532342'
print(float(f1))
print(float(f2))
print(float(f3))  # 算上小数点最多显示18位 ???
print('float函数', '-' * n, '\n')

# 复数函数
var5 = complex(1, 2)
print(var5)
print('复数函数', '-' * n, '\n')

# 字符串函数
var6 = str([1, 2, 3, 4])
print(var6)
var7 = repr('\n')
print(var7)
print('字符串函数', '-' * n, '\n')

# 计算函数
var8 = eval('1+3/5')
print(var8)
print('计算函数', '-' * n, '\n')

# 判断变量类型函数
v3 = '中华人民共和国万岁'
print(type(v3))
print('判断变量类型函数', '-' * n, '\n')

# 元组函数(将一个可遍历的对象转换为元组)
var9 = tuple('1+3/5')
print(var9)
var9 = tuple({'a': 1, 'b': 2})
print(var9)
print('元组函数', '-' * n, '\n')

# 列表函数
var10 = list(var9)
print(var10)
for i in range(8):
    print(i)
print('列表函数', '-' * n, '\n')

# set集合函数
x = set('java')
y = set('golang')
print(x)
print(y)
print(x | y)  # 并集
print(x & y)  # 交集
print(x - y)  # x中有, y中没有的
print(y - x)  # y中有, x中没有的
print('set集合函数', '-' * n, '\n')

# zip函数
a = ['1', '3', 5]
b = [2, 4, 6, 8]
zzip = zip(a, b)
print(zzip)  # 打包成元组
print(zip(*zzip))  # 解压, 会影响原变量
print(tuple(zzip))
print(set(zzip))
print(list(zzip))
print('zip函数', '-' * n, '\n')

# dict字典函数
print(dict())  # 空字典
print(dict(aaxfsd='acvxgbnf', efefb='bfgbhdrf', a3='234'))
print(dict(zip(['one', 'two', 'three'], [1, 2, 3])))
print(dict(zzip))
print('dict字典函数', '-' * n, '\n')

# 不可变集合
varf = frozenset()
varf2 = frozenset([1, 2, 3])
print(varf2)

print('不可变集合', '-' * n, '\n')

# python末尾必须以空行结尾
